This invention relates to data storage apparatus and methods and in particular, but not exclusively, to such apparatus and methods in which a data group or record may be appended to an earlier written group or record.
Data may typically be written onto a storage medium, such as magnetic or magneto-optic media in the form of a sequence of data blocks identified by a unique block identifier. A varying number of these data blocks may be grouped together to form a data group or other group that may be used to designate certain areas of the medium, e.g. End Of Data. The data group is typically the smallest entity that can be written to this medium and contains user data.
The operation of adding new data groups to a medium which already has existing data groups written upon it is referred to herein as xe2x80x9cappendingxe2x80x9d. In addition data groups may be written over previously written data with the result that there may be a boundary at one or both ends of the newly written data between previously written and the newly written data. For convenience such newly written data is also referred to herein as xe2x80x9cappendedxe2x80x9d.
The conditions during the appending operation may differ from those prevailing during the original writing, operation; thus the recording apparatus may be different, the position, orientation etc. of the write head or heads may be slightly different, the magnetic medium transport mechanism may be slightly different, and so certain characteristics of the appended data (e.g. physical, logical, positional, electrical, etc) may differ from those of the previously written data. In some cases, the reading apparatus may be tolerant of such differences, and these effects may be immaterial. However many types of data storage and retrieval equipment are run at the edge of the performance envelope to maximise storage capacity and storage speed, and so apparently slight changes in such characteristics can cause tremendous problems. For example, in a high speed helical scan tape drive, it is important to be able to determine the average track height, i.e the average height of the track relative to the lower edge of the tape, so that the appropriate read head starts reading at the correct position. It is often necessary in such drives to re-calibrate the track height for the appended data, because the track height for the original data will not be the same as for the appended data. There are of course other characteristics which may change in the appended data and for which new parameters need to be determined. Accordingly during reading, it is usually necessary to stop the tape at each boundary between original and appended data and to reverse it to before the transition or boundary and traverse the boundary region slowly to locate the boundary and then to re-calibrate to obtain the new parameters. Such a procedure is time-consuming and diminishes the performance of the drive.
An example of a typical standard for storing data is described in Standard ECMA-236 xe2x80x9c3.81 mm wide Magnetic Tape Cartridge for Information Interchange-Helical Scan Recordingxe2x80x94DDS-3 format using 125 m length Tapesxe2x80x9d which sets out the recording method and recorded format of a typical modern helical scan tape storage system known as Digital Data Storage (DDS), the entire contents of which are incorporated herein by reference.
In a DDS read/write mechanism using the format defined in that Standard, data are recorded on an elongate recording media, comprising tape coated with a magnetic medium, by a rotating drum carrying one or more electromagnetic heads. The tape is moved by a motor-driven capstan along a path extending between two spools or reels and wrapped partially around the drum. The plane of rotation of the drum is disposed at an angle to the plane of movement of the tape, so that each head traverses the tape along successive tracks extending across the width of the tape at an angle to its centreline. The mechanism includes appropriate circuitry for encoding data into signals suitable for recording on tape, including error detection and correction codes, and for conditioning those signals into a form which is optimally matched to the characteristics of the recording media. For data retrieval, additional circuitry is provided for detecting magnetic field variations stored on the tape, deriving corresponding signals, conditioning those signals into a form suitable for subsequent processing, decoding the encoded data, and detecting and correcting errors.
In both DDS and other types of data storage there is thus a need for a storage apparatus and method which allow the transition or the boundary between previously written and appended data to be precisely located. Accurate determination of this boundary allows considerable improvements in performance when reading a medium containing appended data. Not only does it allow the medium to be moved accurately to the position corresponding to the boundary with minimal overrun, e.g. to allow parameters such as the average track height to be calibrated for the appended data, but following determination of the new parameters, the control system may use the fact that the location of the append point can be accurately determined, to synchronise changing the parameters with the end of the previously written data. Furthermore, those skilled in the art will appreciate that the ability readily to identify whether the data is appended or not, and if so the precise location of the append point will be extremely useful in other processes which monitor or assess the data being read back, e.g. monitoring the continuity thereof, and distinguishing xe2x80x98oldxe2x80x99 data.
Accordingly, in one aspect this invention provides a method of storing data on a storage medium which comprises:
assembling said data into one or more groups each comprising one or more data blocks;
determining whether said one or more groups of data blocks are to be appended to previously written data on said medium;
including in at least some of any appended data blocks of said groups a block order code indicating the order of said data block relative to the remainder thereof;
incorporating in the or each group of appended data blocks an append point code identifying the order of the first appended data block, and storing said one or more groups on said storage medium,
whereby the location of the boundary between previously written data and the appended data may be determined subsequently by extracting the append point code from one or more of said appended data blocks.
Although it would be possible to include the block order code in the appended blocks only, the block order code may often be required for other processing routines, and so the block order code is preferably included in both appended and non-appended data blocks.
Although the invention is broadly applicable to a wide range of data storage appliances, it is particularly applicable to devices wherein said data is written by relative movement of a write head and the storage medium. In this instance said method preferably further includes determining the location of the boundary between the previously written data and the appended data as set out above and using said determination to position one or more of the read, write and erase head physically adjacent said boundary.
In another aspect, this invention provides apparatus for storing a stream of data on a storage medium, which comprises:
data assembly means for assembling said data into one or more groups each comprising one or more data blocks for being written onto said storage medium;
appendency determining means for determining whether said data is to be appended to data previously written on said medium;
block ordering means for including in at least some of those data blocks comprising appended data a block order code indicating the order of said data block relative to the remainder thereof;
means for incorporating in the or each group of the appended data blocks an append point code identifying the is block order code of the first appended data block;
means for writing said data blocks in series on said storage medium, and
append point determining means operable on reading appended data, to determine the location of the boundary between the appended and previously written data by reference to the append point code from one of said appended data blocks.
In another aspect, this invention provides apparatus for reading a stream of data from a storage medium on which is stored one or more earlier groups of one or more data blocks and at least one appended group of one or more data blocks, wherein at least some of the data blocks of said at least one appended group each include a block order code identifying the order of said data block relative to the remainder thereof, and an append point code identifying the block order code of the first appended data block;
said apparatus including read means for reading said appended data blocks from said storage medium, and
processing means for extracting the respective append point code from an appended data block, to determine the location of the boundary between the previously written data and the appended data.
Preferably said read means comprises a read head relatively movable with respect to said storage medium, and said apparatus further includes storage medium drive means responsive to said processing means to locate said read head adjacent said boundary.
The apparatus preferably also includes calibration means for calibrating the signal received by said read means, said calibration means being responsive to determination of the boundary identified by said processing means to initiate or invoke a fresh calibration routine.
In yet a further aspect there is provided a method for monitoring data written in accordance with the method defined above, which comprises reading said data, monitoring the append point codes of successive blocks and generating an old data alert if the append point code in a block indicates an append point which precedes that indicated by the append point of a preceding data block.
Whilst the invention has been described above, it extends to any inventive combination of features set out above or in the following description.